Logical partitioning (LPAR) allows the establishment of a plurality of system images within a single physical machine or central processor complex. Each system image is capable of operating as if it was a separate computer system. That is, each logical partition can be independently reset, initially loaded with an operating system that may be different for each logical partition, and operate with different software programs using different input/output (I/O) devices. One important aspect of a logically partitioned system is the management of workload running within the partitions of that system. In some commercial embodiments of logically partitioned systems, the workload managers attempt to balance the workload of the partitions by moving work to the physical resources of the system. In order to move the work, however, it is important to ensure that the data needed by the relocated work is at the moved location. This need often restricts the movement of work.
U.S. Pat. No. 7,051,188, incorporated herein by reference, describes allocation of shareable resources of a computing environment dynamically adjusted to balance the workload of that environment. Workload is managed across two or more partitions of a plurality of partitions of the computing environment. The managing includes dynamically adjusting allocation of a shareable resource of at least one partition of the two or more partitions in order to balance workload goals of the two or more partitions.
On the IBM System z platform, cryptographic operations are initiated by Operating Systems running in LPARs (“processors”) and are executed by crypto devices (“resources”), such as Peripheral Component Interconnect Cryptographic Card (PCICC), PCI—Cryptographic Accelerator (PCICA), PCI—Extended Cryptographic Card (PCIXCC), or Crypto Express2. A Crypto Express2 feature consists of two cards, which can be configured in either coprocessor or accelerator mode. Each card or crypto device has a unique Adjunct Processor (AP) number or ID, which is used for accessing the card's functionality. Multiple crypto devices can be assigned to a particular LPAR via the machine's Support Element. To process a given crypto request, the operating system has to choose one crypto device out of all assigned crypto devices of this LPAR.
z/VSE and Linux on System z have routines to choose the crypto device for the current request. This routine checks all device indices and determines whether a crypto device is available and online. It then reads the current caller count (within this partition) of the devices and returns the index of the device with the lowest caller count. In addition to that, the routine prefers “faster” devices. This algorithm is sub-optimal because the routine only checks the workload within its own LPAR and there is no means to estimate the duration of requests being processed by a particular AP.
As crypto devices are usually shared across LPARs, a single Operating System cannot determine the optimal device for a given crypto operation because it has no information about currently processed crypto requests submitted from Operating Systems in other LPARs.